Method and apparatus for determining tolerance thresholds for neurostimulation

ABSTRACT

An example of a system for delivering neurostimulation using a stimulation device and controlling the delivery of the neurostimulation may include a programming control circuit and a stimulation control circuit. The programming control circuit may be configured to program the stimulation device for delivering the neurostimulation according to a pattern of neurostimulation pulses defined by one or more stimulation waveforms. The stimulation control circuit may be configured to determine the pattern of neurostimulation pulses with the one or more stimulation waveforms constrained by one or more thresholds, and may include threshold circuitry that may be configured to receive one or more known values of the one or more thresholds and to determine needed values of the one or more thresholds by executing an algorithm allowing for prediction of the needed values of the one or more thresholds based on the one or more known values.

CLAIM OF PRIORITY

This application is a continuation of U.S. application Ser. No.16/151,083, filed Oct. 3, 2018, which claims the benefit of priorityunder 35 U.S.C. § 119(e) of U.S. Provisional Patent Application Ser. No.62/583,104, filed on Nov. 8, 2017, each of which are herein incorporatedby reference in their entireties.

TECHNICAL FIELD

This document relates generally to medical devices and more particularlyto system and method for determining various thresholds for programmingparameters of neurostimulation.

BACKGROUND

Neurostimulation, also referred to as neuromodulation, has been proposedas a therapy for a number of conditions. Examples of neurostimulationinclude Spinal Cord Stimulation (SCS), Deep Brain Stimulation (DBS),Peripheral Nerve Stimulation (PNS), and Functional ElectricalStimulation (FES). Implantable neurostimulation systems have beenapplied to deliver such a therapy. An implantable neurostimulationsystem may include an implantable neurostimulator, also referred to asan implantable pulse generator (IPG), and one or more implantable leadseach including one or more electrodes. The implantable neurostimulatordelivers neurostimulation energy through one or more electrodes placedon or near a target site in the nervous system. An external programmingdevice is used to program the implantable neurostimulator withstimulation parameters controlling the delivery of the neurostimulationenergy.

In one example, the neurostimulation energy is delivered in the form ofelectrical neurostimulation pulses. The delivery is controlled usingstimulation parameters that specify spatial (where to stimulate),temporal (when to stimulate), and informational (patterns of pulsesdirecting the nervous system to respond as desired) aspects of a patternof neurostimulation pulses. Many current neurostimulation systems areprogrammed to deliver periodic pulses with one or a few uniform patternsor waveforms continuously or in bursts. However, the human nervoussystems use neural signals having much more sophisticated patterns tocommunicate various types of information, including sensations of pain,pressure, temperature, etc. The nervous system may interpret anartificial stimulation with a simple pattern of stimuli as an unnaturalphenomenon, and respond with an unintended and undesirable sensationand/or movement. For example, some neurostimulation therapies are knownto cause paresthesia and/or feelings of vibration of non-targeted tissueor organ.

Recent research has shown that the efficacy and efficiency of certainneurostimulation therapies can be improved, and their side-effects canbe reduced, by using patterns of neurostimulation pulses that emulatenatural patterns of neural signals observed in the human body. Thisrequires various parameters controlling the delivery of theneurostimulation pulses to change dynamically during a therapy sessionthat may last for minutes to hours, depending on each patient'sconditions and therapeutic goals.

SUMMARY

An example (e.g., “Example 1”) of a system for deliveringneurostimulation to tissue of a patient using a stimulation devicecoupled to a plurality of electrodes and controlling the delivery of theneurostimulation by a user may include a programming control circuit anda stimulation control circuit. The programming control circuit may beconfigured to program the stimulation device for delivering theneurostimulation according to a pattern of neurostimulation pulsesdefined by one or more stimulation waveforms. The stimulation controlcircuit may be configured to determine the pattern of neurostimulationpulses with the one or more stimulation waveforms constrained by one ormore thresholds each being a limit for a parameter of waveformparameters defining the one or more stimulation waveforms. Thestimulation control circuit may include threshold circuitry that may beconfigured to receive one or more known values of the one or morethresholds and to determine needed values of the one or more thresholdsby executing an algorithm allowing for prediction of the needed valuesof the one or more thresholds based on the one or more known values.

In Example 2, the subject matter of Example 1 may optionally beconfigured such that the pattern of neurostimulation pulses includes theone or more stimulation waveforms and one or more stimulation fieldseach defined by a set of active electrodes through which one or moreneurostimulation pulses of the pattern of neurostimulation pulses aredelivered to the patient, and the stimulation control circuit includeswaveform composition circuitry configured to determine the one or morestimulation waveforms and the one or more stimulation fields.

In Example 3, the subject matter of Example 2 may optionally beconfigured such that the one or more neurostimulation pulses each havean overall current amplitude, the one or more stimulation fields areeach further defined by a fractionalization assigning a fraction of theoverall current amplitude to each electrode of the set of activeelectrodes, and the waveform composition circuitry is further configuredto determine the fractionalization for each of the one or morestimulation fields.

In Example 4, the subject matter of any one or any combination ofExamples 2 and 3 may optionally be configured such that the thresholdcircuitry is further configured to receive the one or more known valuesof the one or more thresholds for each stimulation field of the one ormore stimulation fields and to determine the needed values of the one ormore thresholds for the each stimulation field.

In Example 5, the subject matter of any one or any combination ofExamples 1 to 4 may optionally be configured such that the thresholdcircuitry is configured to determine one or more thresholds of a firstparameter selected from the waveform parameters for one or more givenvalues or one or more value ranges of one or more second parametersselected from the waveform parameters.

In Example 6, the subject matter of Example 5 may optionally beconfigured such that the threshold circuitry is configured to determinethe one or more thresholds of the first parameter for one or moreworse-case values of the one or more second parameters.

In Example 7, the subject matter of Example 6 may optionally beconfigured such that the threshold circuitry is configured to identifyone or more worst cases in the pattern of neurostimulation pulses anddetermine the one or more worse-case values of the one or more secondparameters being one or more values of the one or more second parametersunder the identified one or more worst cases.

In Example 8, the subject matter of any one or any combination ofExamples 6 and 7 may optionally be configured to further include a userinterface configured to receive one or more user-defined worst cases inthe pattern of neurostimulation pulses from the user and determine theone or more worse-case values of the one or more second parameters beingone or more values of the one or more second parameters under thereceived one or more user-defined worst cases.

In Example 9, the subject matter of any one or any combination ofExamples 5 to 8 may optionally be configured such that the firstparameter is a pulse amplitude, the second parameter is a pulse width,and the threshold circuitry includes amplitude threshold circuitryconfigured to determine an amplitude threshold of the one or morethresholds. The amplitude threshold is a limit for the pulse amplitudefor each given value or value range of the pulse width.

In Example 10, the subject matter of Example 9 may optionally beconfigured such that the amplitude threshold circuitry is configured todetermine an amplitude threshold of the one or more thresholds. Theamplitude threshold is a maximum value of the pulse amplitude for amaximum value of the pulse width in the each given value range of thepulse width.

In Example 11, the subject matter of Example 9 may optionally beconfigured such that the amplitude threshold circuitry is configured todetermine needed values of the amplitude threshold using one or moreknown values of the amplitude threshold and a relationship between thepulse amplitude and the pulse width.

In Example 12, the subject matter of Example 11 may optionally beconfigured such that the amplitude threshold circuitry is configured todetermine the needed values of the amplitude threshold using the one ormore known values of the amplitude threshold and a strength-durationcurve.

In Example 13, the subject matter of any one or any combination ofExamples 1 to 12 may optionally be configured such that the stimulationcontrol circuit is further configured to control timing of delivery ofthe pattern of neurostimulation pulses.

In Example 14, the subject matter of any one or any combination ofExamples 1 to 13 may optionally be configured such that the stimulationdevice includes an implantable stimulation device configured to deliverthe neurostimulation and to control the delivery of the neurostimulationusing a plurality of stimulation parameters.

In Example 15, the subject matter of Example 14 may optionally beconfigured to further include a programmer including the programmingcontrol circuit and the stimulation control circuit. The programmingcontrol circuit is configured to generate the plurality of stimulationparameters according to the pattern of neurostimulation pulses and totransmit the plurality of stimulation parameters to the implantablestimulation device.

An example (e.g., “Example 16”) of a method for deliveringneurostimulation to a patient using a stimulation device coupled to aplurality of electrodes and controlling the delivery of theneurostimulation by a user is also provided. The method may includedetermining one or more thresholds each being a limit for a parameter ofwaveform parameters defining one or more stimulation waveforms. Thisdetermination may include receiving one or more known values of one ormore thresholds and determining needed values of the one or morethresholds by executing an algorithm allowing for prediction of theneeded values of the one or more thresholds based on the one or moreknown values. The method may further include determining the one or morestimulation waveforms using constraints including the determined one ormore thresholds, determining a pattern of neurostimulation pulsesincluding the determined one or more stimulation waveforms, andprogramming the stimulation device for delivering the neurostimulationaccording to the determined pattern of neurostimulation pulses.

In Example 17, the subject matter of Example 16 may optionally furtherinclude determining the one or more known values of one or morethresholds by measuring from the patient.

In Example 18, the subject matter of any one or any combination ofExamples 16 and 17 may optionally further include determining thealgorithm for the patient using information including data collectedfrom the patient.

In Example 19, the subject matter of any one or any combination ofExamples 16 to 18 may optionally further include determining one or morestimulation fields each defined by a set of active electrodes throughwhich one or more neurostimulation pulses of the pattern ofneurostimulation pulses are delivered to the patient. The set of activeelectrodes is selected from the plurality of electrodes. The subjectmatter of receiving the one or more known values of one or morethresholds as found in any one or any combination of Examples 16 to 18may optionally include receiving the one or more known values of one ormore thresholds for each stimulation field of the one or morestimulation fields. The subject matter of determining the needed valuesof the one or more thresholds as found in any one or any combination ofExamples 16 to 18 may optionally include determining the needed valuesof the one or more thresholds for the each stimulation field.

In Example 20, the subject matter of determining the one or morestimulation fields as found in Example 19 may optionally includedetermining a fractionalization for each of the one or more stimulationfields. The one or more neurostimulation pulses each have an overallcurrent amplitude. The one or more stimulation fields are each furtherdefined by a fractionalization assigning a fraction of the overallcurrent amplitude to each electrode of the set of active electrodes.

comprises

In Example 21, the subject matter of the waveform parameters as foundany one or any combination of Examples 19 and 20 may optionally includea pulse amplitude and a pulse width, the subject matter of determiningthe one or more thresholds as found any one or any combination ofExamples 19 and 20 may optionally include determining an amplitudethreshold being a maximum value of the pulse amplitude for each givenvalue or range of values of the pulse width.

In Example 22, the subject matter of determining the amplitude thresholdas found in any one or any combination of Examples 19 and 20 mayoptionally include determining a maximum value of the pulse amplitudefor a maximum value of the pulse width in the each given range of valuesof the pulse width.

In Example 23, the subject matter of determining the amplitude thresholdas found in any one or any combination of Examples 19 and 21 mayoptionally include determining needed values of the amplitude thresholdusing one or more known values of the amplitude threshold and arelationship between the pulse amplitude and the pulse width.

In Example 24, the subject matter of determining the amplitude thresholdas found in Example 23 may optionally include determining the neededvalues of the amplitude threshold using the one or more known values ofthe amplitude threshold and a strength-duration curve.

In Example 25, the subject matter of Example 24 may optionally furtherinclude determining the strength-duration curve for each stimulationfield of the one or more stimulation fields using information includingdata collected from the patient.

This Summary is an overview of some of the teachings of the presentapplication and not intended to be an exclusive or exhaustive treatmentof the present subject matter. Further details about the present subjectmatter are found in the detailed description and appended claims. Otheraspects of the disclosure will be apparent to persons skilled in the artupon reading and understanding the following detailed description andviewing the drawings that form a part thereof, each of which are not tobe taken in a limiting sense. The scope of the present disclosure isdefined by the appended claims and their legal equivalents.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings illustrate generally, by way of example, variousembodiments discussed in the present document. The drawings are forillustrative purposes only and may not be to scale.

FIG. 1 illustrates an embodiment of a neurostimulation system.

FIG. 2 illustrates an embodiment of a stimulation device and a leadsystem, such as may be implemented in the neurostimulation system ofFIG. 1.

FIG. 3 illustrates an embodiment of a programming device, such as may beimplemented in the neurostimulation system of FIG. 1.

FIG. 4 illustrates an embodiment of an implantable pulse generator (IPG)and an implantable lead system, such as an example implementation of thestimulation device and lead system of FIG. 2.

FIG. 5 illustrates an implantable neurostimulation system, such as anexample application of the IPG and implantable lead system of FIG. 4,and portions of an environment in which the system may be used.

FIG. 6 illustrates an embodiment of portions of a neurostimulationsystem.

FIG. 7 illustrates an embodiment of an implantable stimulator and one ormore leads of an implantable neurostimulation system, such as theimplantable neurostimulation system of FIG. 6.

FIG. 8 illustrates an embodiment of an external programming device of animplantable neurostimulation system, such as the implantableneurostimulation system of FIG. 6.

FIG. 9 illustrates an embodiment of a system for determining stimulationparameters that may be implemented as part of the external programmingdevice.

FIG. 10 illustrates an embodiment of a stimulation control circuit of asystem for determining stimulation parameters, such as the system ofFIG. 9.

FIG. 11 illustrates an example of a strength-duration curve that can beused by the stimulation control circuit of FIG. 10.

FIG. 12 illustrates an embodiment of an area of a screen of a userinterface that may be coupled to the stimulation control circuit of FIG.10.

FIG. 13 illustrates another embodiment of an area of the screen of FIG.12.

FIG. 14 illustrates an embodiment of a method for programmingneurostimulation including determination and use of one or morethresholds.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings which form a part hereof, and in which is shown byway of illustration specific embodiments in which the invention may bepracticed. These embodiments are described in sufficient detail toenable those skilled in the art to practice the invention, and it is tobe understood that the embodiments may be combined, or that otherembodiments may be utilized and that structural, logical and electricalchanges may be made without departing from the spirit and scope of thepresent invention. References to “an”, “one”, or “various” embodimentsin this disclosure are not necessarily to the same embodiment, and suchreferences contemplate more than one embodiment. The following detaileddescription provides examples, and the scope of the present invention isdefined by the appended claims and their legal equivalents.

This document discusses, among other things, a method and system fordetermining tolerance limits for stimulation parameters when programminga stimulation device for delivering neurostimulation to a patient. Invarious embodiments, the neurostimulation may be delivered as sequencedprograms that are not tonic, but include dynamically changingstimulation settings. For example, when the neurostimulation isdelivered in a form of electrical pulses, stimulation parameters such aspulse amplitude, pulse width, pulse rate (frequency), and stimulationfield (electrode configuration) may change continuously over time.Saving such sequenced programs to the stimulation device (e.g., animplantable pulse generator) of the patient may require setting variousthresholds, limits, or set points for each stimulation parameter basedon the patient's responses to the neurostimulation. The present subjectmatter provides for establishing such thresholds. In variousembodiments, the present subject matter can facilitate stimulationdevice programming by ensuring therapy efficacy without consumingexcessive energy and/or causing undesirable effects such as patientdiscomfort, particularly when a sequenced program of neurostimulation isto be programmed. An example of programming sequenced program ofneurostimulation is discussed in U.S. Patent Application Publication No.2017/0050033 A1, entitled “USER INTERFACE FOR CUSTOM PATTERNEDELECTRICAL STIMULATION”, assigned to Boston Scientific NeuromodulationCorporation, which is incorporated herein by reference in its entirety.

While simple neurostimulation programs may be tonic with its stimulationparameters remain unchanged with time, sequenced neurostimulationprograms with sophisticated patterns of electrical pulses may includedynamic changes of parameters over time durations from microseconds tohours or longer. Throughout each program, the stimulation pulses are tobe effective (e.g., evoking tissue responses as intended) while beingtolerable to the patient (e.g., not causing pain, sensation, ordiscomfort to a level that is unacceptable or undesirable the patient,and not causing undesirable effects not sensed by the patient, such asraising blood pressure to an abnormal level). When the patient isallowed to adjust the neurostimulation, often he or she is to beprevented from modifying parameters in a way that can result inuncomfortable or painful stimulation. When the duration of a sequencedprogram is long (e.g., several minutes or hours), it may be impracticalto evaluate all the parameter values in the entire program for thepatient. Therefore, the present subject matter checks worst-casesettings to establish threshold values for various parameters, such asby prediction, interpolation, and/or extrapolation, thereby eliminatingthe need to explicitly testing for every needed threshold value. Whensetting all the parameter values for the worse-case scenario isconsidered to be over-conservative, the value for a parameter may be setbased on testing one or a few scenarios. In some embodiments, this canbe done by using one or more known and/or learned relationship betweenvarious parameters.

FIG. 1 illustrates an embodiment of a neurostimulation system 100.System 100 includes electrodes 106, a stimulation device 104, and aprogramming device 102. Electrodes 106 are configured to be placed on ornear one or more neural targets in a patient. Stimulation device 104 isconfigured to be electrically connected to electrodes 106 and deliverneurostimulation energy, such as in the form of electrical pulses, tothe one or more neural targets though electrodes 106. The delivery ofthe neurostimulation is controlled by using a plurality of stimulationparameters, such as stimulation parameters specifying a pattern ofelectrical pulses and a selection of electrodes through which each ofthe electrical pulses is delivered. In various embodiments, at leastsome parameters of the plurality of stimulation parameters areprogrammable by a user, such as a physician or other caregiver whotreats the patient using system 100. Programming device 102 provides theuser with accessibility to the user-programmable parameters. In variousembodiments, programming device 102 is configured to be communicativelycoupled to stimulation device via a wired or wireless link.

In this document, a “user” includes a physician or other clinician orcaregiver who treats the patient using system 100; a “patient” includesa person who receives or is intended to receive neurostimulationdelivered using system 100. In various embodiments, the patient can beallowed to adjust his or her treatment using system 100 to certainextent, such as by adjusting certain therapy parameters and enteringfeedback and clinical effect information.

In various embodiments, programming device 102 can include a userinterface 110 that allows the user to control the operation of system100 and monitor the performance of system 100 as well as conditions ofthe patient including responses to the delivery of the neurostimulation.The user can control the operation of system 100 by setting and/oradjusting values of the user-programmable parameters.

In various embodiments, user interface 110 can include a graphical userinterface (GUI) that allows the user to set and/or adjust the values ofthe user-programmable parameters by creating and/or editing graphicalrepresentations of various waveforms. Such waveforms may include, forexample, a waveform representing a pattern of neurostimulation pulses tobe delivered to the patient as well as individual waveforms that areused as building blocks of the pattern of neurostimulation pulses, suchas the waveform of each pulse in the pattern of neurostimulation pulses.The GUI may also allow the user to set and/or adjust stimulation fieldseach defined by a set of electrodes through which one or moreneurostimulation pulses represented by a waveform are delivered to thepatient. The stimulation fields may each be further defined by thedistribution of the current of each neurostimulation pulse in thewaveform. In various embodiments, neurostimulation pulses for astimulation period (such as the duration of a therapy session) may bedelivered to multiple stimulation fields.

In various embodiments, system 100 can be configured forneurostimulation applications, including but not limited to SCS, DBS,PNS, and FES applications. User interface 110 can be configured to allowthe user to control the operation of system 100 for neurostimulation.

FIG. 2 illustrates an embodiment of a stimulation device 204 and a leadsystem 208, such as may be implemented in neurostimulation system 100.Stimulation device 204 can represent an example of stimulation device104 and includes a stimulation output circuit 212 and a stimulationcontrol circuit 214. Stimulation output circuit 212 produces anddelivers neurostimulation pulses. Stimulation control circuit 214controls the delivery of the neurostimulation pulses from stimulationoutput circuit 212 using the plurality of stimulation parameters, whichspecifies a pattern of neurostimulation pulses. Lead system 208 includesone or more leads each configured to be electrically connected tostimulation device 204 and a plurality of electrodes 206 distributed inthe one or more leads. The plurality of electrodes 206 includeselectrode 206-1, electrode 206-2, . . . electrode 206-N, each a singleelectrically conductive contact providing for an electrical interfacebetween stimulation output circuit 212 and tissue of the patient, whereN≥2. The neurostimulation pulses are each delivered from stimulationoutput circuit 212 through a set of electrodes selected from electrodes206. In various embodiments, the neurostimulation pulses may include oneor more individually defined pulses, and the set of electrodes may beindividually definable by the user for each of the individually definedpulses or each of collections of pulse intended to be delivered usingthe same combination of electrodes. In various embodiments, one or moreadditional electrodes 207 (each of which may be referred to as areference electrode) can be electrically connected to stimulation device204, such as one or more electrodes each being a portion of or otherwiseincorporated onto a housing of stimulation device 204. Monopolarstimulation uses a monopolar electrode configuration with one or moreelectrodes selected from electrodes 206 and at least one electrode fromelectrode(s) 207. Bipolar stimulation uses a bipolar electrodeconfiguration with two electrodes selected from electrodes 206 and noneelectrode(s) 207. Multipolar stimulation uses a multipolar electrodeconfiguration with multiple (two or more) electrodes selected fromelectrodes 206 and none of electrode(s) 207.

In various embodiments, the number of leads and the number of electrodeson each lead depend on, for example, the distribution of target(s) ofthe neurostimulation and the need for controlling the distribution ofelectric field at each target. In one embodiment, lead system 208includes 2 leads each having 8 electrodes.

FIG. 3 illustrates an embodiment of a programming device 302, such asmay be implemented in neurostimulation system 100. Programming device302 can represent an example of programming device 102 and includes astorage device 318, a programming control circuit 316, and a userinterface 310. Programming control circuit 316 generates the pluralityof stimulation parameters that controls the delivery of theneurostimulation pulses according to a specified stimulation programthat can define, for example, stimulation waveform and electrodeconfiguration. User interface 310 can represent an example of userinterface 110 and includes a stimulation control circuit 320. Storagedevice 318 stores information used by programming control circuit 316and stimulation control circuit 320, such as information about astimulation device that relates the stimulation program to the pluralityof stimulation parameters and information relating the stimulationprogram to a volume of activation in the patient. In variousembodiments, stimulation control circuit 320 can be configured tosupport one or more functions allowing for programming of stimulationdevices, such as stimulation device 104 including but not limited to itsvarious embodiments as discussed in this document.

In various embodiments, user interface 310 can allow for definition of apattern of neurostimulation pulses for delivery during aneurostimulation therapy session by creating and/or adjusting one ormore stimulation waveforms using a graphical method. The definition canalso include definition of one or more stimulation fields eachassociated with one or more pulses in the pattern of neurostimulationpulses. As used in this document, a “stimulation program” can includethe pattern of neurostimulation pulses including the one or morestimulation fields, or at least various aspects or parameters of thepattern of neurostimulation pulses including the one or more stimulationfields. In various embodiments, user interface 310 includes a GUI thatallows the user to define the pattern of neurostimulation pulses andperform other functions using graphical methods. In this document,“neurostimulation programming” can include the definition of the one ormore stimulation waveforms, including the definition of one or morestimulation fields.

In various embodiments, circuits of neurostimulation 100, including butnot limited to its various embodiments discussed in this document, maybe implemented using a combination of hardware and software. Forexample, the circuit of user interface 110, stimulation control circuit214, programming control circuit 316, and stimulation control circuit320, including but not limited to their various embodiments discussed inthis document, may be implemented using an application-specific circuitconstructed to perform one or more particular functions or ageneral-purpose circuit programmed to perform such function(s). Such ageneral-purpose circuit includes, but is not limited to, amicroprocessor or a portion thereof, a microcontroller or portionsthereof, and a programmable logic circuit or a portion thereof.

FIG. 4 illustrates an embodiment of an implantable pulse generator (IPG)404 and an implantable lead system 408. IPG 404 represents an exampleimplementation of stimulation device 204. Lead system 408 represents anexample implementation of lead system 208. As illustrated in FIG. 4, IPG404 that can be coupled to implantable leads 408A and 408B at a proximalend of each lead. The distal end of each lead includes electricalcontacts or electrodes 406 for contacting a tissue site targeted forelectrical neurostimulation. As illustrated in FIG. 4, leads 408A and408B each include 8 electrodes 406 at the distal end. The number andarrangement of leads 408A and 408B and electrodes 406 as shown in FIG. 4are only an example, and other numbers and arrangements are possible. Invarious embodiments, the electrodes are ring electrodes. The implantableleads and electrodes may be configured by shape and size to provideelectrical neurostimulation energy to a neuronal target included in thesubject's brain, or configured to provide electrical neurostimulationenergy to a nerve cell target included in the subject's spinal cord.

IPG 404 can include a hermetically-sealed IPG case 422 to house theelectronic circuitry of IPG 404, an electrode 426 formed on IPG case422, and an IPG header 424 for coupling the proximal ends of leads 408Aand 408B. IPG header 424 may optionally also include an electrode 428.Electrodes 426 and/or 428 represent embodiments of electrode(s) 207 andmay each be referred to as a reference electrode. Neurostimulationenergy can be delivered in a monopolar (also referred to as unipolar)mode using electrode 426 or electrode 428 and one or more electrodesselected from electrodes 406. Neurostimulation energy can be deliveredin a bipolar mode using a pair of electrodes of the same lead (lead 408Aor lead 408B). Neurostimulation energy can be delivered in an extendedbipolar mode using one or more electrodes of a lead (e.g., one or moreelectrodes of lead 408A) and one or more electrodes of a different lead(e.g., one or more electrodes of lead 408B).

The electronic circuitry of IPG 404 can include a control circuit thatcontrols delivery of the neurostimulation energy. The control circuitcan include a microprocessor, a digital signal processor, applicationspecific integrated circuit (ASIC), or other type of processor,interpreting or executing instructions included in software or firmware.The neurostimulation energy can be delivered according to specified(e.g., programmed) modulation parameters. Examples of setting modulationparameters can include, among other things, selecting the electrodes orelectrode combinations used in the stimulation, configuring an electrodeor electrodes as the anode or the cathode for the stimulation,specifying the percentage of the neurostimulation provided by anelectrode or electrode combination, and specifying stimulation pulseparameters. Examples of pulse parameters include, among other things,the amplitude of a pulse (specified in current or voltage), pulseduration (e.g., in microseconds), pulse rate (e.g., in pulses persecond), and parameters associated with a pulse train or pattern such asburst rate (e.g., an “on” modulation time followed by an “off”modulation time), amplitudes of pulses in the pulse train, polarity ofthe pulses, etc.

FIG. 5 illustrates an implantable neurostimulation system 500 andportions of an environment in which system 500 may be used. System 500includes an implantable system 525, an external system 502, and atelemetry link 540 providing for wireless communication betweenimplantable system 525 and external system 502. Implantable system 525is illustrated in FIG. 5 as being implanted in the patient's body 599.

An example of IPG 504 includes IPG 404. An example of lead system 508includes one or more of leads 408A and 408B. In the illustratedembodiment, implantable lead system 508 is arranged to provide SCS to apatient, with the stimulation target being neuronal tissue in thepatient's spinal cord. In various embodiments, the present subjectmatter can be applied to neurostimulation of any types and targets,including but not limited to SCS, DBS, PNS, and FES.

Implantable system 525 includes an implantable stimulator (also referredto as an IPG) 504, a lead system 508, and electrodes 506, which canrepresent an example of stimulation device 204, lead system 208, andelectrodes 206, respectively. External system 502 can represent anexample of programming device 302. In various embodiments, externalsystem 502 can include one or more external (non-implantable) deviceseach allowing the user and/or the patient to communicate withimplantable system 525. In some embodiments, external system 502includes a programming device intended for the user to initialize andadjust settings for implantable stimulator 504 and a remote controldevice intended for use by the patient. For example, the remote controldevice may allow the patient to turn implantable stimulator 404 on andoff and/or adjust certain patient-programmable parameters of theplurality of stimulation parameters.

The sizes and sharps of the elements of implantable system 525 and theirlocation in body 599 are illustrated by way of example and not by way ofrestriction. An implantable system is discussed as a specificapplication of the programming according to various embodiments of thepresent subject matter. In various embodiments, the present subjectmatter may be applied in programming any type of stimulation device thatuses electrical pulses as stimuli, regarding less of stimulation targetsin the patient's body and whether the stimulation device is implantable.

FIG. 6 illustrates an embodiment of portions of a neurostimulationsystem 600. System 600 includes an IPG 604, implantable neurostimulationleads 608A and 608B, an external remote controller (RC) 632, aclinician's programmer (CP) 630, and an external trial modulator (ETM)634. IPG 404 may be electrically coupled to leads 608A and 608B directlyor through percutaneous extension leads 636. ETM 634 may be electricallyconnectable to leads 608A and 608B via one or both of percutaneousextension leads 636 and/or external cable 638. System 600 can representan example of system 100, with IPG 604 representing an embodiment ofstimulation device 104, electrodes 606 of leads 608A and 608Brepresenting electrodes 106, and CP 630, RC 632, and ETM 634collectively representing programming device 102.

ETM 634 may be standalone or incorporated into CP 630. ETM 634 may havesimilar pulse generation circuitry as IPG 604 to deliverneurostimulation energy according to specified modulation parameters asdiscussed above. ETM 634 is an external device that is typically used asa preliminary stimulator after leads 408A and 408B have been implantedand used prior to stimulation with IPG 604 to test the patient'sresponsiveness to the stimulation that is to be provided by IPG 604.Because ETM 634 is external it may be more easily configurable than IPG604.

CP 630 can configure the neurostimulation provided by ETM 634. If ETM634 is not integrated into CP 630, CP 630 may communicate with ETM 634using a wired connection (e.g., over a USB link) or by wirelesstelemetry using a wireless communications link 640. CP 630 alsocommunicates with IPG 604 using a wireless communications link 640.

An example of wireless telemetry is based on inductive coupling betweentwo closely-placed coils using the mutual inductance between thesecoils. This type of telemetry is referred to as inductive telemetry ornear-field telemetry because the coils must typically be closelysituated for obtaining inductively coupled communication. IPG 604 caninclude the first coil and a communication circuit. CP 630 can includeor otherwise electrically connected to the second coil such as in theform of a wand that can be place near IPG 604. Another example ofwireless telemetry includes a far-field telemetry link, also referred toas a radio frequency (RF) telemetry link. A far-field, also referred toas the Fraunhofer zone, refers to the zone in which a component of anelectromagnetic field produced by the transmitting electromagneticradiation source decays substantially proportionally to 1/r, where r isthe distance between an observation point and the radiation source.Accordingly, far-field refers to the zone outside the boundary ofr=λ/2π, where λ is the wavelength of the transmitted electromagneticenergy. In one example, a communication range of an RF telemetry link isat least six feet but can be as long as allowed by the particularcommunication technology. RF antennas can be included, for example, inthe header of IPG 604 and in the housing of CP 630, eliminating the needfor a wand or other means of inductive coupling. An example is such anRF telemetry link is a Bluetooth® wireless link.

CP 630 can be used to set modulation parameters for the neurostimulationafter IPG 604 has been implanted. This allows the neurostimulation to betuned if the requirements for the neurostimulation change afterimplantation. CP 630 can also upload information from IPG 604.

RC 632 also communicates with IPG 604 using a wireless link 340. RC 632may be a communication device used by the user or given to the patient.RC 632 may have reduced programming capability compared to CP 630. Thisallows the user or patient to alter the neurostimulation therapy butdoes not allow the patient full control over the therapy. For example,the patient may be able to increase the amplitude of neurostimulationpulses or change the time that a preprogrammed stimulation pulse trainis applied. RC 632 may be programmed by CP 630. CP 630 may communicatewith the RC 632 using a wired or wireless communications link. In someembodiments, CP 630 is able to program RC 632 when remotely located fromRC 632.

FIG. 7 illustrates an embodiment of implantable stimulator 704 and oneor more leads 708 of an implantable neurostimulation system, such asimplantable system 600. Implantable stimulator 704 can represent anexample of stimulation device 104 or 204 and may be implemented, forexample, as IPG 404. Lead(s) 708 can represent an example of lead system208 and may be implemented, for example, as implantable leads 408A and408B. Lead(s) 708 includes electrodes 706, which can represent anexample of electrodes 106 or 206 and may be implemented as electrodes406.

Implantable stimulator 704 may include a sensing circuit 742 that isoptional and required only when the stimulator needs a sensingcapability, stimulation output circuit 212, a stimulation controlcircuit 714, an implant storage device 746, an implant telemetry circuit744, a power source 748, and one or more electrodes 707. Sensing circuit742, when included and needed, senses one or more physiological signalsfor purposes of patient monitoring and/or feedback control of theneurostimulation. Examples of the one or more physiological signalsinclude neural and other signals each indicative of a condition of thepatient that is treated by the neurostimulation and/or a response of thepatient to the delivery of the neurostimulation. Stimulation outputcircuit 212 is electrically connected to electrodes 706 through one ormore leads 708 as well as electrodes 707, and delivers each of theneurostimulation pulses through a set of electrodes selected fromelectrodes 706 and electrode(s) 707. Stimulation control circuit 714 canrepresent an example of stimulation control circuit 214 and controls thedelivery of the neurostimulation pulses using the plurality ofstimulation parameters specifying the pattern of neurostimulationpulses. In one embodiment, stimulation control circuit 714 controls thedelivery of the neurostimulation pulses using the one or more sensedphysiological signals. Implant telemetry circuit 744 providesimplantable stimulator 704 with wireless communication with anotherdevice such as CP 630 and RC 632, including receiving values of theplurality of stimulation parameters from the other device. Implantstorage device 746 stores values of the plurality of stimulationparameters. Power source 748 provides implantable stimulator 704 withenergy for its operation. In one embodiment, power source 748 includes abattery. In one embodiment, power source 748 includes a rechargeablebattery and a battery charging circuit for charging the rechargeablebattery. Implant telemetry circuit 744 may also function as a powerreceiver that receives power transmitted from an external device throughan inductive couple. Electrode(s) 707 allow for delivery of theneurostimulation pulses in the monopolar mode. Examples of electrode(s)707 include electrode 426 and electrode 418 in IPG 404 as illustrated inFIG. 4.

In one embodiment, implantable stimulator 704 is used as a masterdatabase. A patient implanted with implantable stimulator 704 (such asmay be implemented as IPG 604) may therefore carry patient informationneeded for his or her medical care when such information is otherwiseunavailable. Implant storage device 746 is configured to store suchpatient information. For example, the patient may be given a new RC 632and/or travel to a new clinic where a new CP 630 is used to communicatewith the device implanted in him or her. The new RC 632 and/or CP 630can communicate with implantable stimulator 704 to retrieve the patientinformation stored in implant storage device 746 through implanttelemetry circuit 744 and wireless communication link 640, and allow forany necessary adjustment of the operation of implantable stimulator 704based on the retrieved patient information. In various embodiments, thepatient information to be stored in implant storage device 746 mayinclude, for example, positions of lead(s) 708 and electrodes 706relative to the patient's anatomy (transformation for fusingcomputerized tomogram (CT) of post-operative lead placement to magneticresonance imaging (MRI) of the brain), clinical effect map data,objective measurements using quantitative assessments of symptoms (forexample using micro-electrode recording, accelerometers, and/or othersensors), and/or any other information considered important or usefulfor providing adequate care for the patient. In various embodiments, thepatient information to be stored in implant storage device 746 mayinclude data transmitted to implantable stimulator 704 for storage aspart of the patient information and data acquired by implantablestimulator 704, such as by using sensing circuit 742.

In various embodiments, sensing circuit 742 (if included), stimulationoutput circuit 212, stimulation control circuit 714, implant telemetrycircuit 744, implant storage device 746, and power source 748 areencapsulated in a hermetically sealed implantable housing or case, andelectrode(s) 707 are formed or otherwise incorporated onto the case. Invarious embodiments, lead(s) 708 are implanted such that electrodes 706are placed on and/or around one or more targets to which theneurostimulation pulses are to be delivered, while implantablestimulator 704 is subcutaneously implanted and connected to lead(s) 708at the time of implantation.

FIG. 8 illustrates an embodiment of an external programming device 802of an implantable neurostimulation system, such as system 600. Externalprogramming device 802 can represent an example of programming device102 or 302, and may be implemented, for example, as CP 630 and/or RC632. External programming device 802 includes an external telemetrycircuit 852, an external storage device 818, a programming controlcircuit 816, and a user interface 810.

External telemetry circuit 852 provides external programming device 802with wireless communication with another device such as implantablestimulator 704 via wireless communication link 640, includingtransmitting the plurality of stimulation parameters to implantablestimulator 704 and receiving information including the patient data fromimplantable stimulator 704. In one embodiment, external telemetrycircuit 852 also transmits power to implantable stimulator 704 throughan inductive couple.

In various embodiments, wireless communication link 640 can include aninductive telemetry link (near-field telemetry link) and/or a far-fieldtelemetry link (RF telemetry link). External telemetry circuit 852 andimplant telemetry circuit 744 each include an antenna and RF circuitryconfigured to support such wireless telemetry.

External storage device 818 stores one or more stimulation waveforms fordelivery during a neurostimulation therapy session, as well as variousparameters and building blocks for defining the one or more stimulationwaveforms. The one or more stimulation waveforms may each be associatedwith one or more stimulation fields and represent a pattern ofneurostimulation pulses to be delivered to the one or more stimulationfield during the neurostimulation therapy session. In variousembodiments, each of the one or more stimulation waveforms can beselected for modification by the user and/or for use in programming astimulation device such as implantable stimulator 704 to deliver atherapy. In various embodiments, each waveform in the one or morestimulation waveforms is definable on a pulse-by-pulse basis, andexternal storage device 818 may include a pulse library that stores oneor more individually definable pulse waveforms each defining a pulsetype of one or more pulse types. External storage device 818 also storesone or more individually definable stimulation fields. Each waveform inthe one or more stimulation waveforms is associated with at least onefield of the one or more individually definable stimulation fields. Eachfield of the one or more individually definable stimulation fields isdefined by a set of electrodes through a neurostimulation pulse isdelivered. In various embodiments, each field of the one or moreindividually definable fields is defined by the set of electrodesthrough which the neurostimulation pulse is delivered and a currentdistribution of the neurostimulation pulse over the set of electrodes.In one embodiment, the current distribution is defined by assigning afraction of an overall pulse amplitude to each electrode of the set ofelectrodes. Such definition of the current distribution may be referredto as “fractionalization” in this document. In another embodiment, thecurrent distribution is defined by assigning an amplitude value to eachelectrode of the set of electrodes. For example, the set of electrodesmay include 2 electrodes used as the anode and an electrode as thecathode for delivering a neurostimulation pulse having a pulse amplitudeof 4 mA. The current distribution over the 2 electrodes used as theanode needs to be defined. In one embodiment, a percentage of the pulseamplitude is assigned to each of the 2 electrodes, such as 75% assignedto electrode 1 and 25% to electrode 2. In another embodiment, anamplitude value is assigned to each of the 2 electrodes, such as 3 mAassigned to electrode 1 and 1 mA to electrode 2. Control of the currentin terms of percentages allows precise and consistent distribution ofthe current between electrodes even as the pulse amplitude is adjusted.It is suited for thinking about the problem as steering a stimulationlocus, and stimulation changes on multiple contacts simultaneously tomove the locus while holding the stimulation amount constant. Controland displaying the total current through each electrode in terms ofabsolute values (e.g. mA) allows precise dosing of current through eachspecific electrode. It is suited for changing the current one contact ata time (and allows the user to do so) to shape the stimulation like apiece of clay (pushing/pulling one spot at a time).

Programming control circuit 816 can represent an example of programmingcontrol circuit 316 and generates the plurality of stimulationparameters, which is to be transmitted to implantable stimulator 704,based on a specified stimulation program (e.g., the pattern ofneurostimulation pulses as represented by one or more stimulationwaveforms and one or more stimulation fields, or at least certainaspects of the pattern). The stimulation program may be created and/oradjusted by the user using user interface 810 and stored in externalstorage device 818. In various embodiments, programming control circuit816 can check values of the plurality of stimulation parameters againstsafety rules to limit these values within constraints of the safetyrules. In one embodiment, the safety rules are heuristic rules.

User interface 810 can represent an example of user interface 310 andallows the user to define the pattern of neurostimulation pulses andperform various other monitoring and programming tasks. User interface810 includes a display screen 856, a user input device 858, and aninterface control circuit 854. Display screen 856 may include any typeof interactive or non-interactive screens, and user input device 858 mayinclude any type of user input devices that supports the variousfunctions discussed in this document, such as touchscreen, keyboard,keypad, touchpad, trackball, joystick, and mouse. In one embodiment,user interface 810 includes a GUI. The GUI may also allow the user toperform any functions discussed in this document where graphicalpresentation and/or editing are suitable as may be appreciated by thoseskilled in the art.

Interface control circuit 854 controls the operation of user interface810 including responding to various inputs received by user input device858 and defining the one or more stimulation waveforms. Interfacecontrol circuit 854 includes stimulation control circuit 320.

In various embodiments, external programming device 802 can haveoperation modes including a composition mode and a real-time programmingmode. Under the composition mode (also known as the pulse patterncomposition mode), user interface 810 is activated, while programmingcontrol circuit 816 is inactivated. Programming control circuit 816 doesnot dynamically updates values of the plurality of stimulationparameters in response to any change in the one or more stimulationwaveforms. Under the real-time programming mode, both user interface 810and programming control circuit 816 are activated. Programming controlcircuit 816 dynamically updates values of the plurality of stimulationparameters in response to changes in the set of one or more stimulationwaveforms, and transmits the plurality of stimulation parameters withthe updated values to implantable stimulator 704.

FIG. 9 illustrates an embodiment of a system 960 for determiningstimulation parameters. In various embodiments, system 960 may beimplemented as part of external programming device 802 (which may beimplemented, for example, as CP 630 and/or RC 632) or implemented as anydevice allowing for determination of stimulation parameters, includingany computer programmed for determining stimulation parameters. System960 can include programming control circuit 816 and stimulation controlcircuit 920. Programming control circuit 916 can represent an example ofprogramming control circuit 816 and can be configured to program astimulation device, such as stimulation device 104 including but notlimited to its various embodiments as discussed in this document, fordelivering neurostimulation according to a pattern of neurostimulationpulses defined by one or more stimulation waveforms. Stimulation controlcircuit 920 can represent an example of stimulation control circuit 320and can be configured to determine the pattern of neurostimulationpulses, which is defined by one or more stimulation waveforms. Invarious embodiments, stimulation control circuit 920 can also scheduledeliveries of the neurostimulation according to the pattern ofneurostimulation pulses.

Stimulation control circuit 920 can include waveform compositioncircuitry 962 and threshold circuitry 964. Waveform compositioncircuitry 962 can determine the one or more stimulation waveformsconstrained by one or more thresholds. The one or more thresholds areeach being a limit for a parameter of waveform parameters defining theone or more stimulation waveforms. Threshold circuitry 964 can receiveone or more known values of the one or more thresholds and determineneeded values of the one or more thresholds by executing an algorithmallowing for prediction of the needed values of the one or morethresholds based on the one or more known values. In variousembodiments, the one or more known values includes one or more valuesthat can be determined based on data collected from the patient, and theneeded values includes all the values needed during determination of theone or more stimulation waveforms. In some embodiments, stimulationcontrol circuit 920 may include threshold circuitry 964 without waveformcomposition circuitry 962 or a limited version of waveform compositioncircuitry 962. For example, when system 960 is implemented as part of RC632 to be given to the patient, RC 632 may only provide the patient withlimited control of delivery of the neurostimulation such as to start thedelivery, to stop the delivery, and to adjust the intensity of theneurostimulation pulses.

In various embodiments, the pattern of neurostimulation pulses definedby stimulation control circuit 920 can define a stimulation program of asegment of the stimulation program. Programming control circuit 916 cangenerate a plurality of stimulation parameters according to the patternof neurostimulation pulses. In embodiments in which programming controlcircuit 916 is part of a programming device such as external programmingdevice 802, programming control circuit 916 can transmit the pluralityof stimulation parameters to implantable stimulator 704 to be used bystimulation control circuit 714 to control delivery of neurostimulationfrom stimulation output circuit 212. In various embodiments, the patternof neurostimulation pulses are defined by the one or more stimulationwaveforms and one or more stimulation fields. A stimulation program usesmultiple stimulation fields if the electrode configuration is to changeduring the delivery of the neurostimulation according to a pattern ofneurostimulation pulses. Each pulse in the pattern of neurostimulationpulses has a stimulation waveform being the waveform of the pulse and astimulation field specifying electrodes through which the pulse isdelivered. The one or more stimulation fields can each be defined by aset of active electrodes through which one or more neurostimulationpulses of the pattern of neurostimulation pulses are delivered to thepatient. The set of active electrodes can be selected from a pluralityof electrodes such as electrodes 206 and 207, including but not limitedto their various embodiments as discussed in this document. In variousembodiments, each neurostimulation pulse has an overall currentamplitude, and the one or more stimulation fields are each furtherdefined by a fractionalization assigning a fraction of the overallcurrent amplitude to each electrode of the set of active electrodes.

In various embodiments, waveform composition circuitry 962 can determinethe one or more stimulation waveforms, including the one or morestimulation fields, that define the pattern of neurostimulation pulses.Examples of waveform composition techniques that may be employed bywaveform composition circuitry 1062 include, but are not limited to,those discussed in U.S. Pat. No. 9,737,717, entitled “GRAPHICAL USERINTERFACE FOR PROGRAMMING NEUROSTIMULATION PULSE PATTERNS”, U.S. PatentApplication Publication No. 2016/0121126 A1, entitled “METHOD ANDAPPARATUS FOR PROGRAMMING COMPLEX NEUROSTIMULATION PATTERNS”, U.S.Patent Application Publication No. 2017/0050033 A1, entitled “USERINTERFACE FOR CUSTOM PATTERNED ELECTRICAL STIMULATION”, and U.S. PatentApplication Publication No. 2017/0106197 A1, entitled “USER INTERFACEFOR NEUROSTIMULATION WAVEFORM COMPOSITION”, all assigned to BostonScientific Neuromodulation Corporation, which are incorporated herein byreference in their entireties.

Threshold circuitry 964 can determine the one or more thresholds for theone or more stimulation waveforms. In various embodiments, thresholdcircuitry 1064 can receive one or more known values of the one or morethresholds and determine needed values of the one or more thresholdsbased on the received one or more known values. The one or more knownvalues can be measured, for example, from the patient's response todelivery of neurostimulation pulses according to at least a portion ofthe pattern of neurostimulation pulses. Threshold circuitry 964 candetermine the needed values of the one or more thresholds using thereceived one or more known values by executing an algorithm allowing forprediction of the needed values of the one or more thresholds based onthe one or more known values. In various embodiments, the algorithm canbe developed using modeling, pre-clinical data, clinical data, and/orinformation from literature. When the one or more thresholds relate topulse amplitude and pulse width, the algorithm can includestrength-duration curve fitting.

In various embodiments, threshold circuitry 964 can determine one ormore thresholds each being a limit of a waveform parameter for one ormore given values or value ranges of other one or more waveformparameters. For example, the waveform parameters can include a pulseamplitude and a pulse width, and threshold circuitry 964 can determinean amplitude threshold being a maximum value of the pulse amplitude foreach given value or range of values of the pulse width. This amplitudethreshold can be determined for each combination of pulse frequency,pulse shape, and stimulation field used in a stimulation program. Whilethe amplitude threshold will be specifically discussed below as anexample, threshold circuitry 964 can determine various types ofthresholds for various waveform parameters. Examples of the waveformparameters related to determination of the one or more thresholds bythreshold circuitry 964 can include two or more of the following:

-   -   (1) pulse amplitude (e.g., amplitude of an electrical current);    -   (2) pulse width;    -   (3) pulse frequency (also referred to as pulse rate, stimulation        frequency, or stimulation rate, which may also be expressed as        inter-pulse interval when referring to an instantaneous rate);    -   (4) pulse shape (shape or type of the waveform of a        neurostimulation pulse, may have a waveform parameter being a        quantitative measure of the pulse shape for threshold        determination purposes);    -   (5) stimulation field (may have a waveform parameter being a        quantitative measure of the stimulation field for threshold        determination purposes); and    -   (6) pulse charge (for square pulse shapes, the product of pulse        amplitude multiplying pulse width, may be used in some        embodiments in place of the pulse amplitude and the pulse width        for setting the one or more thresholds).        (These examples of waveform parameters are hereinafter referred        to as “parameter (1), parameter (2), parameter (3), parameter        (4), parameter (5), and parameter (6), respectively.) These        parameters are examples of parameters used to quantify the        effect on the target tissue, as can be used in the present        subject matter, which is not limited by using such parameters.        In various embodiments, the present subject matter can work with        any parameter used to map to the effect of neurostimulation,        such as average power, total electrical energy delivered, etc.        Definitions for the amplitude and pulse width may depend on the        type (e.g., shape) of the pulse. A square pulse may have a        single pulse amplitude across the pulse width. For other pulse        shapes, the pulse amplitude may vary across the pulse width, and        therefore, the pulse amplitude may include mean, median, mode,        peak, and/or minimum amplitudes. In some embodiments, an        “equivalent” pulse amplitude may be used to normalize between        disparate pulse shapes. For example, a single square wave pulse        having a pulse width 100 μs and a pulse amplitude of 5 mA may be        used as a normalization target or set point, and a pulse that        has, for example, hyperpolarizing pre-pulse of 50 μs followed by        a stimulation pulse of again 100 μs may have a peak pulse        amplitude of 7 mA but be considered as an equivalent to the        square wave pulse having the pulse width 100 μs and the pulse        amplitude of 5 mA. Such equivalents of pulse amplitude and pulse        width for square wave pulses can be used when the        neurostimulation pulses have one or more other pulse shapes.        Similarly, for example, pulse frequency can be an average pulse        frequency for a given period of time during which the pulse        frequency varies to a certain extent. Such variations and        equivalencies of parameters apply to each of parameters (1)-(6),        with the definitions given in this document being examples.

In various embodiments, threshold circuitry 964 can determine one ormore thresholds of a first parameter selected from parameters (1)-(5)for one or more given values or value ranges of one or more secondparameters (each being different from the first parameter) selected fromparameters (1)-(5). The first parameter may be selected because it hasone or more thresholds of interest for ensuring, for example,therapeutic efficacy and/or patient tolerance. The one or more secondparameters may each be selected because it can affect the one of morethresholds of the first parameter. When more than one second parametersare selected, threshold circuitry 964 can determine one or morethresholds of the first parameter for one or more given values or valueranges of one of the second parameters while holding the remainingsecond parameter(s) unchanged when the one or more thresholds aredetermined for all the interested values or value ranges for this one ofthe second parameters, and can repeat for each interested combination ofvalues or value ranges of all the second parameters. For example,threshold circuitry 964 can determine one or more thresholds of thepulse amplitude for one or more given values or value ranges of thepulse width for one stimulation field at a time, and repeat until theone or more thresholds of the pulse amplitude are determined for all thestimulation fields. In some embodiments, threshold circuitry 964 candetermine one or more thresholds each being a limit of the firstparameter being parameter (6) for one or more given values or valueranges of the one or more second parameters selected from parameters(3)-(5).

In various embodiments, threshold circuitry 1064 can determine any typeof threshold for a waveform parameter such as one of parameters (1)-(6).Examples of the one or more thresholds that can be determined for eachwaveform parameter by threshold circuitry 1064 can include one or moreof the following:

-   -   (A) sufficiency thresholds: a minimum value of a waveform        parameter for producing an intended tissue response to the        neurostimulation (e.g., activation of a neural target, producing        a neural tissue conditioning effect, or producing a desirable        sensation); and    -   (B) excess thresholds: a maximum value of a waveform parameter        corresponding to a level of an effect of the neurostimulation        that can be harmful to or unacceptable by the patient, with one        example being a tolerance threshold being the maximum value of        the waveform parameter corresponding to a level of an sensation        that can be tolerated by the patient (e.g., pain, undesirable        sensation other than pain, or any discomfort).        (These examples of thresholds are hereinafter referred to as        “threshold (A) and threshold (B), respectively, and each of        thresholds (A) and (B) can include one or more thresholds.) In        various embodiments, threshold circuitry 964 can determine one        or more thresholds selected from thresholds (A) and (B) of the        first parameter for one or more given values or value ranges of        the one or more second parameters (with the first and second        parameters as discussed above).

In some embodiments, threshold circuitry 964 can determine one or morethresholds each being a worst-case limit of the first parameter for oneor more worst-case values of the one or more second parameters. The“worst case” can be the worse case for the entire stimulation program orfor a portion of the program. Examples for the one or more worst-casevalues of the one or more second parameters include the highest pulseamplitude, the longest pulse width, the highest pulse frequency, themost efficient stimulation field in producing a response in the patient,the most efficient stimulation field in producing a response in thepatient, the most efficient waveform shape in producing a response inthe patient, and the largest amount of pulse charge. Because determininga single worst case for an entire stimulation program or an entirepattern of neurostimulation pulses may result in overly conservativethresholds, multiple worst cases can be identified, each from a segmentin the pattern of neurostimulation pulses. Threshold circuitry 964 candetermine the one or more thresholds for such worst case(s) set by theone or more second parameters. In various embodiments, thresholdcircuitry 964 can identify such worse case(s) from the one or morestimulation waveforms defining the pattern of neurostimulation pulsesand determine the one or more thresholds accordingly. In someembodiments, threshold circuitry 964 can receive user-defined worsecase(s) from the user using a user interface, such as user interface810, and determine the one or more thresholds accordingly. In someembodiments, threshold circuitry 964 can identify worse case(s) from theone or more stimulation waveforms defining the pattern ofneurostimulation pulses and receive the user-defined worse case(s) fromthe user using the user interface, and can determine the one or morethresholds based on both the identified worst case(s) and user-definedworse case(s).

The examples for the waveform parameters and the one or more thresholds,including parameters (1)-(6) and thresholds (A) and (B) are provided forthe purpose of illustration, but not for the purpose of restriction. Aspecific example of using threshold circuitry 964 to determine anamplitude threshold being a maximum value of the pulse amplitude foreach given value or range of values of the pulse width is discussedbelow to illustrate, rather than restrict, how a threshold of a waveformparameter can be determined. This example can be applied for determiningone or more thresholds for any waveform parameter, including but notlimited to those discussed in this document, by those skilled in the artupon reading and understanding this document.

FIG. 10 illustrates an embodiment of a stimulation control circuit 1020,which can represent an example of stimulation control circuit 920.Stimulation control circuit 1020 can include waveform compositioncircuitry 962 and threshold circuitry 1064. Threshold circuitry 1064 canrepresent an example of threshold circuitry 964. In various embodiments,stimulation control circuit 1020 can determine the pattern ofneurostimulation pulses. In various embodiments, stimulation controlcircuit 1020 can also schedule deliveries of the neurostimulationaccording to the pattern of neurostimulation pulses.

Each pulse of the pattern of neurostimulation pulses has a value of thepulse amplitude and an associated value of the pulse width. In theillustrated embodiment, threshold circuitry 1064 includes amplitudethreshold circuitry 1066 to determine an amplitude threshold being amaximum value of the pulse amplitude for each given value or range ofvalues of the pulse width. In various embodiments, amplitude thresholdcircuitry 1066 can determine an amplitude threshold for each stimulationfield of the one or more stimulation fields associated with the patternof neurostimulation fields.

In one embodiment, amplitude threshold circuitry 1066 determines anamplitude threshold for a range of values of the pulse width. Amplitudethreshold circuitry 1066 can determine the amplitude threshold bymeasuring the maximum value of the pulse amplitude for a maximum valueof the pulse width (e.g., a worst-case value of the pulse width) in therange of values of the pulse width. The range of values of the pulsewidth can include one or more values of the pulse width. The amplitudethreshold can include a plurality of values each being the maximum valueof the pulse amplitude for a range of the range of values of the pulsewidth. Amplitude threshold circuitry 1066 can determine each value ofthe amplitude threshold by measuring the maximum value of the pulseamplitude for a maximum value of the pulse width in each range of therange of values of the pulse width.

In one embodiment, amplitude threshold circuitry 1066 determines anamplitude threshold using a relationship between values of the pulseamplitude and values of the pulse width. The relationship allows forprediction of values of the amplitude threshold for all the neededvalues of the pulse width based on one or more values of the amplitudethreshold measured for one or more given values of the pulse width. Therelationship can be established using data collected from the patient,data collected from a patient population, data resulting fromsimulations with neurophysiological models, and/or date collected fromliterature. An example of the relationship includes a strength-durationcurve. Amplitude threshold circuitry 1066 can determine each value ofthe amplitude threshold by measuring one or more maximum values of thepulse amplitude for one or more given values of the pulse width andcalculate remaining one or more maximum values of the pulse amplitudeusing a relationship between the pulse amplitude and the pulse width. Inone embodiment, the relationship includes a strength-duration curve. Thestrength-duration curve can be individually determined for the patientusing information including clinical data collected from the patient.When the amplitude threshold needs to be determined for each stimulationfield of the one or more stimulation fields associated with the patternof neurostimulation pulses, the strength-duration curve can also bedetermined for each stimulation field. Other information such as datacollected from a patient population, data resulting from simulation witha neurophysiological model, and/or information from literature may alsobe used in the determination of the strength-duration curves.

FIG. 11 illustrates an example of a strength-duration curve such as onethat can be used by amplitude threshold circuitry 1066. Thestrength-duration curve is a plot of the pulse amplitude (AMP) versusthe pulse width (PW) required to affect in the target tissue ofstimulation using electrical pulses as stimuli. In the present subjectmatter, the strength-duration curve allows for prediction of the pulseamplitude required to produce an effect at each given pulse width.Examples of such an effect can include recruitment (transition betweennon-excitation to excitation of a neural target as indicated, forexample, by evoked action potentials) and onset of pain or otherundesirable or desirable sensation.

For the purpose of illustration but not restriction, 4 pairs of knownvalues of the pulse amplitude and the pulse width are shown, including(PW1, AMP1), (PW2, AMP2), (PW3, AMP3), and (PW4, AMP4). In variousembodiments, any one or more pairs may be required, and in someembodiments, pairs beyond the required may also be used for additionalaccuracy, for example. In various embodiments, the values of the pulsewidth are given, and the value of the pulse amplitude can be made known,for example, by measurement performed on the patient. In the illustratedexample, the “PROGRAMMABLE PW RANGE” represents the range of values orthe pulse width that may be used in the one or more stimulationwaveforms, with PW1 being the minimum value and PW2 being the maximumvalue. PW3 and PW4 are values that may be arbitrarily chosen or evenlydistributed between PW1 and PW2. In various embodiments, one or moreAMP-PW pairs may be used for determining the needed values for theamplitude threshold. In one embodiment, one pair such as any of the fourillustrated pairs may be required. In another embodiment, two pairs suchas the illustrated (PW1, AMP1) and (PW2, AMP2) may be required. In oneembodiment, the user may enter as many pairs as desirable when manyvalues of the amplitude threshold are known.

FIGS. 12 and 13 illustrate how user may enter the known values of theamplitude threshold. In various embodiments, a user interface such asuser interface 810 can receive known values of the amplitude thresholdfor each stimulation field N of n stimulation fields (N=1, 2, . . . ,n). For each stimulation field N, the user interface can display m (m≥1)values of the pulse width and receive a value of pulse amplitude foreach value M (M=1, 2, . . . m) of the pulse width. In one embodiment,all of the m values of the pulse width are given (read only to theuser). In another embodiment, at least one of the m values of the pulsewidth are given (read only to the user), the user is allowed to entermore values of the pulse width for which the values of the pulseamplitude are known. In another embodiment, all of the m values of thepulse width and the corresponding m values of pulse amplitude areentered by the user

FIG. 12 illustrates an embodiment of an area 1270 of a screen, such as awindow, or other portions of a screen of presentation device 856. Invarious embodiments, presentation device 856 can include a displayscreen, and area 1270 can be displayed on the screen as a window or aportion of the window. In the illustrated embodiment, area 1270 allowsfor determining the amplitude threshold for each stimulation field(“FIELD 1” shown as an example). An IPG 1204 includes a housing used asan electrode 1207 and is coupled to a lead 1208 including electrodes1206-1 through 1206-8. A fractionalization assigns electrode 1207 as asingle anode and electrodes 1206-5 and 1206-6 as cathodes with 70% ofthe overall current amplitude applied to electrode 1206-5 and 30% of theoverall current amplitude applied to electrode 1206-6. An AMPLITUDELIMITS area 1272 presents areas allowing the user to enter known valuesof the amplitude threshold and the pulse width. In one example, asillustrated in FIG. 12, two pairs of values of the pulse amplitude andthe pulse width are to be received from the user. Area 1272 includesAMP-PW PAIRS field 1278 for the user to select from the first and secondpairs. When “1” is selected, a PW1 field 1276 displays a given value, orallows the user to enter a value, of the pulse width (e.g., the minimumvalue of the programmable range), and an AMP1 field 1274 allows the userto enter the value of the amplitude threshold that is associated withthe value displayed in PW1 field 1276. When “2” is selected, PW1 field1276 becomes PW2 filed 1276 and displays another given value, or allowsthe user to enter another value, of the pulse width (e.g., the maximumvalue of the programmable range), and an AMP1 field 1274 becomes AMP2field and allows the user to enter the value of the amplitude thresholdthat is associated with the value displayed in PW2 field 1276. In theillustrated embodiment, the values for the pulse amplitude and the pulsewidth can be entered by using the “+” and “−” arrows allowing valueincrease and decrease at predetermined increments, respectively. Whenentry of the known values of the amplitude threshold for the currentstimulation field (FIELD 1 as shown) is completed. An ADDITIONAL FIELDfield 1280 allows the user to move to the next field, until the entry ofthe known values of the amplitude threshold is completed for all thestimulation field used in the pattern of neurostimulation pulses.

FIG. 13 illustrates another embodiment of an area 1370 of the screen ofFIG. 12. Area 1370 includes all the features of area 1270 except forincluding an AMPLITUDE LIMITS area 1372 that differs from AMPLITUDELIMITS area 1272 by having an ADDITIONAL AMP-PW field 1378 instead ofAMP-PW PAIRS field 1278. ADDITIONAL AMP-PW field 1378 allows the user toenter one pair of values of the amplitude threshold and the pulse widthat a time until the entry of the known values of the amplitude thresholdis completed for all the stimulation field used in the pattern ofneurostimulation pulses.

FIG. 14 illustrates an embodiment of a method 1400 for programmingneurostimulation including determination and use of one or morethresholds. Method 1400 can be performed using system 960. In oneembodiment, system 960, including but not limited to its variousembodiments discussed in this document, can be configured (e.g.,programmed) to perform method 1400. In various embodiments, method 1400is applied for programming a stimulation device, such as stimulationdevice 104, including but not limited to its various embodimentsdiscussed in this document, to deliver the neurostimulation to tissue ofa patient through a plurality of electrodes and to control the deliveryof the neurostimulation by the user.

At 1410, one or more thresholds are determined. The one or morethresholds are each a limit for a parameter of waveform parametersdefining one or more stimulation waveforms. Examples for the waveformparameters include parameters (1)-(6) as discussed above, and examplesfor the one or more thresholds include thresholds (A) and (B) asdiscussed above. The determination includes receiving one or more knownvalues of one or more thresholds at 1411 and determining needed valuesof the one or more thresholds at 1412.

At 1411, the one or more known values of one or more thresholds arereceived. In various embodiments, the one or more known values of one ormore thresholds can be obtained by measuring from the patient. At 1412,the needed values of the one or more thresholds are determined byexecuting an algorithm allowing for prediction of the needed values ofthe one or more thresholds based on the one or more known values.

At 1420, the one or more stimulation waveforms are determined usingconstraints including the determined one or more thresholds. In variousembodiments, the constraints are applied to ensure safety and/or comfortof the patient. For example, the one or more thresholds can be used toprevent intolerable pain and/or other discomfort from being caused bythe neurostimulation. In various embodiment, one or more stimulationfields are determined. The one or more stimulation fields are eachdefined by a set of active electrodes through which one or moreneurostimulation pulses will be delivered to the patient. The one ormore threshold can be determined for each of the one or more stimulationfields. This means receiving the one or more known values of one or morethresholds and determining the needed values of the one or morethresholds for each stimulation field. In various embodiment, the one ormore stimulation fields are each further defined by a fractionalizationassigning a fraction of the overall current amplitude of aneurostimulation pulse to each electrode of the set of activeelectrodes. Different stimulation fields can include stimulation fieldsthat have the same set of active electrodes but differentfractionalizations.

At 1430, a pattern of neurostimulation pulses is determined. In variousembodiments, the pattern of neurostimulation pulses can include the oneor more stimulation waveforms. Stimulation field may not be needed fordefining the pattern of neurostimulation pulses when the electrodeconfiguration including fractionalization does not change during thedelivery of the neurostimulation according to the pattern ofneurostimulation pulses. In various embodiments, the pattern ofneurostimulation pulses can include the one or more stimulationwaveforms and the one or more stimulation fields.

At 1440, the stimulation device is programmed for delivering theneurostimulation according to the determined pattern of neurostimulationpulses. This can include determining stimulation parameters used by thestimulation device to control the delivery based on the pattern ofneurostimulation pulses, and transmitting the stimulation parameters tothe stimulation device.

In various embodiments, waveform parameters defining the one or morestimulation parameters can include a pulse amplitude and a pulse width.The one or more thresholds can include an amplitude threshold being amaximum value of the pulse amplitude for each given value or range ofvalues of the pulse width. In one embodiment, the amplitude thresholdcan be determined as the maximum value of the pulse amplitude for amaximum value of the pulse width in each given range of values of thepulse width. In one embodiment, the amplitude threshold can bedetermined by determining needed values of the amplitude threshold usingone or more known values of the amplitude threshold and a relationshipbetween the pulse amplitude and the pulse width. One example of such arelationship includes a strength-duration curve. The strength-durationcurve can be determined for each of the one or more stimulation fieldsusing information including data collected from the patient.

It is to be understood that the above detailed description is intendedto be illustrative, and not restrictive. Other embodiments will beapparent to those of skill in the art upon reading and understanding theabove description. The scope of the invention should, therefore, bedetermined with reference to the appended claims, along with the fullscope of equivalents to which such claims are entitled.

What is claimed is:
 1. A method for delivering neurostimulation to apatient using a stimulation device coupled to a plurality of electrodes,the method comprising: controlling the delivery of the neurostimulationfrom the stimulation device according to one or more stimulationwaveforms defined by waveform parameters; and determining the one ormore stimulation waveforms using the processor, including: receiving amaximum value of a first parameter of the waveform parameters;determining a maximum value of a second parameter of the waveformparameters using the received maximum value of the first parameter and arelationship allowing for prediction of needed values of the secondparameter using one or more known values of the first parameter; anddetermining the one or more stimulation waveforms using constraintsincluding the maximum value of the first parameter and the maximum valueof the second parameter.
 2. The method of claim 1, wherein controllingthe delivery of the neurostimulation from the stimulation deviceaccording to the one or more stimulation waveforms comprises controllingthe delivery of the neurostimulation from the stimulation deviceaccording a pattern of neurostimulation pulses including the one or morestimulation waveforms.
 3. The method of claim 2, wherein the pattern ofneurostimulation pulses has multiple segments, receiving the maximumvalue of the first parameter comprises receiving the maximum value ofthe first parameter for each segment of the multiple segment, anddetermining the maximum value of the second parameter comprisesdetermining the maximum value of the second parameter for the eachsegment.
 4. The method of claim 3, wherein receiving the maximum valueof the first parameter comprises receiving a user-defined worst case forthe each segment using a user interface, and the maximum value of thefirst parameter for the each segment is the value of the first parameterunder the user-defined worst case for the each segment.
 5. The method ofclaim 3, further comprising identifying a worst case from the one ormore stimulation waveforms for the each segment using the processor,wherein the maximum value of the first parameter is the value of thefirst parameter for the each segment under the worst case identified forthe each segment.
 6. The method of claim 2, comprising controlling thedelivery of the neurostimulation from the stimulation device accordingto the one or more stimulation waveforms and stimulation fields eachdefined by a set of active electrodes selected from the plurality ofelectrodes, and wherein receiving the maximum value of the firstparameter comprises receiving the maximum value of the first parameterfor each stimulation field of the stimulation fields, and determiningthe maximum value of the second parameter comprises determining themaximum value of the second parameter for the each stimulation field. 7.The method of claim 6, wherein the first parameter is one of a pulseamplitude and a pulse width, the second parameter is the other of thepulse amplitude and the pulse width, and determining the maximum valueof the second parameter using the received maximum value of the firstparameter and the relationship comprises determining the maximum valueof the second parameter using the received maximum value of the firstparameter and a strength-duration curve.
 8. The method of claim 7,further comprising determining the strength-duration curve for eachstimulation field of the stimulation fields using information includingdata collected from the patient.
 9. The method of claim 2, whereinreceiving the maximum value of the first parameter comprises receiving ahighest pulse amplitude.
 10. The method of claim 2, wherein receivingthe maximum value of the first parameter comprises receiving a longestpulse width.
 11. The method of claim 2, wherein receiving the maximumvalue of the first parameter comprises receiving a highest pulsefrequency.
 12. The method of claim 2, wherein receiving the maximumvalue of the first parameter comprises receiving a most efficiencywaveform shape in producing a response in the patient.
 13. The method ofclaim 2, wherein receiving the maximum value of the first parametercomprises receiving a largest amount of pulse charge.
 14. A system fordelivering neurostimulation to a patient using a stimulation devicecoupled to a plurality of electrodes, the system comprising: aprogramming control circuit configured to program the stimulation devicefor delivering the neurostimulation according to one or more stimulationwaveforms; and a stimulation control circuit configured to: receive amaximum value of a first parameter of waveform parameters defining theone or more stimulation waveforms; determine a maximum value of a secondparameter of the waveform parameters using the received maximum value ofthe first parameter and a relationship allowing for prediction of neededvalues of the second parameter using one or more known values of thefirst parameter; and determine the one or more stimulation waveformsusing constraints including the maximum value of the first parameter andthe maximum value of the second parameter.
 15. The system of claim 14,wherein the stimulation control circuit is further configured toidentify a worse case from the one or more stimulation waveforms, andthe maximum value of the first parameter is the value of the firstparameter under the identified worst case.
 16. The system of claim 15,wherein the programming control circuit is configured to program thestimulation device for delivering the neurostimulation according topattern of neurostimulation pulses including the one or more stimulationwaveforms and including multiple segments, and the stimulation controlcircuit is further configured to identify the worst case from eachsegment of the multiple segments.
 17. The system of claim 14, furthercomprising a user interface coupled to the stimulation control circuit,the user interface configured to receive a user-defined worst case inthe one or more stimulation waveforms, and wherein the maximum value ofthe first parameter is the value of the first parameter under theuser-defined worst case.
 18. The system of claim 14, wherein theprogramming control circuit is configured to program the stimulationdevice for delivering the neurostimulation according to pattern ofneurostimulation pulses including the one or more stimulation waveforms,the first parameter is one of a pulse amplitude and a pulse width, thesecond parameter is the other of the pulse amplitude and the pulsewidth, and the stimulation control circuit is configured to determinethe maximum value of the second parameter using the received maximumvalue of the first parameter and a strength-duration curve.
 19. Thesystem of claim 18, wherein the programming control circuit isconfigured to program the stimulation device for delivering theneurostimulation according to the one or more stimulation waveforms andstimulation fields each defined by a set of active electrodes selectedfrom the plurality of electrodes, and the stimulation control circuit isconfigured to receive the maximum value of the first parameter for eachstimulation field of the stimulation fields and determine the maximumvalue of the second parameter for the each stimulation field.
 20. Anon-transitory computer-readable storage medium including instructions,which when executed by a system, cause the system to perform a methodfor delivering neurostimulation to a patient using a stimulation devicecoupled to a plurality of electrodes, the method comprising: controllingthe delivery of the neurostimulation from the stimulation deviceaccording to one or more stimulation waveforms defined by waveformparameters; and determining the one or more stimulation waveforms usingthe processor, including: receiving a maximum value of a first parameterof the waveform parameters; determining a maximum value of a secondparameter of the waveform parameters using the received maximum value ofthe first parameter and a relationship allowing for prediction of neededvalues of the second parameter using one or more known values of thefirst parameter; and determining the one or more stimulation waveformsusing constraints including the maximum value of the first parameter andthe maximum value of the second parameter.